ACTOR "Cycloid Sentry" 31122
{
    //$Category DN3D Aliens //Sentry Bosses
	Obituary "%o was destroyed by a Cycloid Sentry."
    Health 2850
    Radius 20
	Height 56
    Mass 28500
    Speed 13
    PainChance 10
	DropItem "Executor" 64 25
	DropItem "Devastator Ammo" 128 25
    SeeSound "Emperor/Sight"
    PainSound "Emperor/Pain"
    DeathSound "Emperor/Death"
    ActiveSound "Emperor/Active"
	Painchance "LaserShot", 256
	BloodColor "D1 0C 00" 
	Species "Alien"
	DamageFactor "Damage_Foot", 0.29
	DamageFactor "Damage_Pistol", 1.14
    DamageFactor "Damage_DualPistol", 1.14
	DamageFactor "Damage_BlackTail", 1.20
    DamageFactor "Damage_DualBlackTail", 1.20
	DamageFactor "Damage_DesertEagle", 1.25
    DamageFactor "Damage_Shotgun", 1.15
	DamageFactor "Damage_SuperShotgun", 1.18
	DamageFactor "Damage_ExplosiveShotgun", 1.08
    DamageFactor "Damage_ChaingunCannon", 1.12
	DamageFactor "Damage_Minigun", 1.13
	DamageFactor "Damage_LMGBullet", 1.26
    DamageFactor "Damage_Explosion", 1.1
	DamageFactor "Damage_Shock", 1.1
	DamageFactor "Damage_BigShock", 1.15
	DamageFactor "Damage_Thunder", 1.1
	DamageFactor "Damage_BigThunder", 1.15
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.77
	DamageFactor "Damage_Expander", 0.78
	DamageFactor "Damage_Laser", 1.42
	DamageFactor "Damage_Railgun", 1.33
    DamageFactor "Ice", 0.45
    DamageFactor "Fire", 0.48
	DamageFactor "Damage_Pulse", 1.38
	DamageFactor "AlienPoison", 0.0
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Damage_Step", 0.0
	Painchance "Radial", 256
	Painchance "Damage_DesertEagle", 27
	Painchance "Damage_ExplosiveShotgun", 32
	Painchance "Damage_Minigun", 32
	Painchance "Damage_LMGBullet", 32
    Painchance "Damage_Explosion", 32
	Painchance "Damage_Laser", 32
	Painchance "LaserShot", 256
	Scale 0.7
    Monster	
	+NOTARGET
	+FLOORCLIP
	+DONTMORPH
	+BOSSDEATH
    +NOICEDEATH
	+NORADIUSDMG
	States
    {
	Spawn:
        CYSE A 0
        CYSE A 0 Thing_ChangeTID(0,1000)
        CYSE A 2 A_Look
        Loop
	See:
        CYSE AABB 3 A_Chase
	    CYSE B 0 A_SpawnItem("AlienStep10",0,0,0,0)
		CYSE CCDD 3 A_Chase 
	    CYSE D 0 A_SpawnItem("AlienStep10",0,0,0,0)
        Loop
	Missile:
	    CYSE A 0 A_JumpIfCloser(862,"Missile2")
        CYSE F 0 A_FaceTarget
        CYSE F 25 A_PlaySound("Emperor/Attack1",5)
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 A_FaceTarget
        CYSE F 0 A_CPosRefire
        Goto Missile+3
	Missile2:
	    CYSE A 0 A_Jump(128,"Missile3")
		CYSE G 0 A_PlaySound("Emperor/Attack2",5)
        CYSE GGG 10 A_FaceTarget
        CYSE G 5 A_FaceTarget
        CYSE H 0 A_PlayWeaponSound("OctoBrain/Attack")
        CYSE H 0 A_FaceTarget
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,0,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-5,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-10,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-15,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-20,0)
		CYSE H 0 A_FaceTarget
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-25,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-30,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-25,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-20,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-15,0)
		CYSE H 0 A_FaceTarget
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-10,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,-5,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,0,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,5,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,10,0)
		CYSE H 0 A_FaceTarget
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,15,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,20,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,25,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,30,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,25,0)
		CYSE H 0 A_FaceTarget
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,20,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,15,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,10,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,5,0)
		CYSE H 1 Bright A_CustomMissile("OctaBrainAttack1",38,0,0,0)
        CYSE H 20 
        Goto See
	Missile3:
        CYSE F 0 A_FaceTarget
        CYSE F 25 A_PlaySound("Emperor/Attack1",5)
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
		CYSE F 0 A_FaceTarget
		CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
        CYSE E 1 Bright A_CustomMissile("EmperorSentryAttack",33,12,Random(-10,10))
		CYSE F 6 
        CYSE F 0 A_CPosRefire
        Goto Missile3+2
    Pain:
        CYSE R 0
        CYSE R 10 A_Pain
        Goto See
    Pain.Radial:
        CYSE R 0
        CYSE R 0 HealThing(2)
        Goto See
    Pain.LaserShot:
        CYSE R 0
		CYSE R 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		CYSE R 0 HealThing(2)
		Goto See
	Death:
	    CYSE I 0
        CYSE I 0 A_Jump(128,1,10)
		CYSE I 15 A_Scream
	    CYSE J 10 
		CYSE K 10 A_KillMaster
        CYSE LMNO 10
		CYSE P 10 A_NoBlocking
        CYSE Q -1 
        Stop 
		CYS2 I 15 A_Scream
	    CYS2 J 10 
		CYS2 K 10 A_KillMaster
        CYS2 LMNO 10
		CYS2 P 10 A_NoBlocking
        CYS2 Q -1 
        Stop
    Death.Damage_Shrinker:
        CYSE A 0
        CYSE A 10 A_PlaySound("Shrinker/Shrink")
		CYSE A 1 A_SetScale(0.70,0.70)
        CYSE A 1 A_SetScale(0.68,0.68)
        CYSE A 1 A_SetScale(0.66,0.66)
        CYSE A 1 A_SetScale(0.64,0.64)
        CYSE A 1 A_SetScale(0.62,0.62)
        CYSE A 1 A_SetScale(0.60,0.60)
        CYSE A 1 A_SetScale(0.58,0.58)
        CYSE A 1 A_SetScale(0.56,0.56)
        CYSE A 1 A_SetScale(0.54,0.54)
        CYSE A 1 A_SetScale(0.52,0.52)
        CYSE A 1 A_SetScale(0.50,0.50)
        CYSE A 1 A_SetScale(0.48,0.48)
        CYSE A 1 A_SetScale(0.46,0.46)
        CYSE A 1 A_SetScale(0.44,0.44)
        CYSE A 1 A_SetScale(0.42,0.42)
        CYSE A 1 A_SetScale(0.40,0.40)
        CYSE A 1 A_SetScale(0.38,0.38)
        CYSE A 1 A_SetScale(0.36,0.36)
        CYSE A 1 A_SetScale(0.34,0.34)
        CYSE A 1 A_SetScale(0.32,0.32)
        CYSE A 1 A_SetScale(0.30,0.30)
        CYSE A 1 A_SetScale(0.28,0.28)
        CYSE A 1 A_SetScale(0.26,0.26)
        CYSE A 1 A_SetScale(0.24,0.24)
        CYSE A 1 A_SetScale(0.22,0.22)
        CYSE A 1 A_SetScale(0.20,0.20)
		CYSE A 0 A_KillMaster
		CYSE A 0 A_SpawnItemEx("Cycloid Sentry Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathExplosion:
	    CYSE A 0
        CYSE A 0 A_PlaySound("Gib/Explode",5)
        CYSE A 0 A_NoBlocking
		CYSE A 0 A_KillMaster
        CYSE AAAAA 0 A_SpawnDebris("DukeGibs1")
        CYSE AAAAA 0 A_SpawnDebris("DukeGibs2")
		CYSE AAAAA 0 A_SpawnDebris("DukeGibs3")
        CYSE AAAAA 0 A_SpawnDebris("DukeGibs4")
        CYSE AAAAA 0 A_SpawnDebris("DukeGibs5")		
        CYSE AAAAAAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        CYSE A 0
		CYSE A 1 A_PlaySound("Expander/Expand",5)
		CYSE A 1 A_SetScale(0.71,0.71)
        CYSE A 1 A_SetScale(0.72,0.72)
		CYSE A 1 A_SetScale(0.73,0.73)
		CYSE A 1 A_SetScale(0.74,0.74)
		CYSE A 1 A_SetScale(0.75,0.75)
		CYSE A 1 A_SetScale(0.76,0.76)
		CYSE A 1 A_SetScale(0.77,0.77)
		CYSE A 1 A_SetScale(0.78,0.78)
		CYSE A 1 A_SetScale(0.79,0.79)
		CYSE A 1 A_SetScale(0.80,0.80)
		CYSE A 1 A_SetScale(0.81,0.81)
		CYSE A 1 A_SetScale(0.82,0.82)
		CYSE A 1 A_SetScale(0.83,0.83)
		CYSE A 1 A_SetScale(0.84,0.84)
		CYSE A 1 A_SetScale(0.85,0.85)
		CYSE A 1 A_SetScale(0.86,0.86)
		CYSE A 1 A_SetScale(0.87,0.87)
		CYSE A 1 A_SetScale(0.88,0.88)
		CYSE A 1 A_SetScale(0.89,0.89)
		CYSE A 1 A_SetScale(0.90,0.90)
		CYSE A 1 A_SetScale(0.91,0.91)
		CYSE A 1 A_SetScale(0.92,0.92)
		CYSE A 1 A_SetScale(0.93,0.93)
		CYSE A 1 A_SetScale(0.94,0.94)
		CYSE A 1 A_SetScale(0.95,0.95)
		CYSE A 1 A_SetScale(0.96,0.96)
		CYSE A 1 A_SetScale(0.97,0.97)
		CYSE A 1 A_SetScale(0.98,0.98)
		CYSE A 1 A_SetScale(0.99,0.99)
		CYSE A 1 A_SetScale(1.00,1.00)
		CYSE A 1 A_SetScale(1.01,1.01)
		CYSE A 1 A_SetScale(1.02,1.02)
		CYSE A 1 A_SetScale(1.03,1.03)
		CYSE A 1 A_SetScale(1.04,1.04)
		CYSE A 1 A_SetScale(1.05,1.05)
		CYSE A 1 A_SetScale(1.06,1.06)
		CYSE A 1 A_SetScale(1.07,1.07)
		CYSE A 1 A_SetScale(1.08,1.08)
		CYSE A 1 A_SetScale(1.09,1.09)
		CYSE A 1 A_SetScale(1.10,1.10)
		CYSE A 1 A_SetScale(1.11,1.11)
		CYSE A 1 A_SetScale(1.12,1.12)
		CYSE A 1 A_SetScale(1.13,1.13)
		CYSE A 1 A_SetScale(1.14,1.14)
        CYSE A 25 A_SetScale(1.15,1.15)
		CYSE A 0 A_KillMaster
        CYSE A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto DeathExplosion
	}
}

ACTOR "Cycloid Sentry Shrunken" 
{
    Health 30
    Radius 20
    Height 16
    Mass 0x7FFFFFFF
    Speed 3
    PainChance 128
    SeeSound "Emperor/Sight"
    PainSound "Emperor/Pain"
    DeathSound "Emperor/Death"
    ActiveSound "Emperor/Active"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.20
	DamageFactor "Damage_Foot", 5.0
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Trip_Punch", 0.0
	Painchance "LaserShot", 256
	+ISMONSTER
	+SHOOTABLE
    +SOLID
	+NOTARGET
	+FRIGHTENED
    States
    {
    Spawn:
        CYSE A 0 
		CYSE A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		CYSE A 0 A_GiveInventory("ShrunkenCheck",1)
        CYSE AAAAAAAA 3 A_Look
        Loop
    See:
	    CYSE A 0 
		CYSE A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		CYSE A 0 A_GiveInventory("ShrunkenCheck",1)
		CYSE AABB 3 A_Chase
		CYSE B 0 A_SpawnItem("AlienStep10",0,0,0,0)
		CYSE CCDD 3 A_Chase
		CYSE D 0 A_SpawnItem("AlienStep10",0,0,0,0)
        Loop
    Pain:
		CYSE R 0 
		CYSE R 10 A_Pain
        Goto See 
	Pain.LaserShot:
	    CYSE R 0 
		CYSE R 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		CYSE R 0 HealThing(2)
		Goto See
	Pain.Radial:
        CYSE R 0
        CYSE R 0 HealThing(2)
        Goto See
	Restore:
	    CYSE A 0
        CYSE A 10 A_PlaySound("Shrinker/Shrink")
		CYSE A 1 A_SetScale(0.20,0.20)
        CYSE A 1 A_SetScale(0.22,0.22)
        CYSE A 1 A_SetScale(0.26,0.24)
        CYSE A 1 A_SetScale(0.24,0.24)
        CYSE A 1 A_SetScale(0.28,0.28)
        CYSE A 1 A_SetScale(0.30,0.30)
        CYSE A 1 A_SetScale(0.32,0.32)
        CYSE A 1 A_SetScale(0.34,0.34)
        CYSE A 1 A_SetScale(0.36,0.36)
        CYSE A 1 A_SetScale(0.38,0.38)
        CYSE A 1 A_SetScale(0.40,0.40)
        CYSE A 1 A_SetScale(0.42,0.42)
        CYSE A 1 A_SetScale(0.44,0.44)
        CYSE A 1 A_SetScale(0.46,0.46)
        CYSE A 1 A_SetScale(0.48,0.48)
        CYSE A 1 A_SetScale(0.50,0.50)
        CYSE A 1 A_SetScale(0.52,0.52)
        CYSE A 1 A_SetScale(0.54,0.54)
        CYSE A 1 A_SetScale(0.56,0.56)
        CYSE A 1 A_SetScale(0.58,0.58)
        CYSE A 1 A_SetScale(0.60,0.60)
        CYSE A 1 A_SetScale(0.62,0.62)
        CYSE A 1 A_SetScale(0.64,0.64)
        CYSE A 1 A_SetScale(0.66,0.66)
        CYSE A 1 A_SetScale(0.68,0.68)
        CYSE A 1 A_SetScale(0.70,0.70)
		CYSE A 0 A_SpawnItemEx("Cycloid Sentry",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    CYSE A 0
		CYSE A 0 A_Stop
        CYSE A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        CYSE A 0 A_NoBlocking
        CYSE A 0 A_SpawnDebris("DukeGibs1")
        CYSE A 0 A_SpawnDebris("DukeGibs2")
		CYSE A 0 A_SpawnDebris("DukeGibs3")
        CYSE A 0 A_SpawnDebris("DukeGibs4")
        CYSE A 0 A_SpawnDebris("DukeGibs5")		
        CYSE AAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}

ACTOR EmperorSentryAttack
{
    Radius 2
    Height 2
    Speed 30
    Damage (5)
    Projectile
	SeeSound "Executor/Shoot"
    DeathSound "Rpg/BlowUp"	
    Scale 0.23
	Decal "Scorch"
    DamageType "Damage_Explosion"
	+RANDOMIZE
	+THRUGHOST
    States
    {
    Spawn:
        RPGX A 0 A_PlaySound("MiniRocket/Fly",CHAN_BODY,1.0,True)
		RPGX A 1 Bright A_SpawnItemEx("DevastatorSmoke",0,0,0,Random(-1,1),Random(-1,1),Random(-1,1))
		Loop
    Death:
		TNT1 A 0 A_StopSound(CHAN_BODY)
		TNT1 A 0 A_PlaySound("Explosion/Sounds2",11)
		TNT1 A 0 A_Explode(80,128)
        TNT1 A 1 A_SpawnItemEx("DukeNukemExplosion2",0,0,0,0,0,0,0,0)
        Stop
        }
}

ACTOR AlienStep10
{
    +NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_PlaySound("Foot/AlienStep10")
	    Stop
	    }
}